import request from '@/config/axios'

// 项目台账管理 VO
export interface ProjectLedgerVO {
  id: number // 主键ID
  projectCategory: string // 项目类别
  projectCode: string // 项目编号
  projectName: string // 项目名称
  startTime: Date // 启动时间
  startWorkDate: Date // 开工日期
  deliveryDate: Date // 交付时间
  paymentDate: Date // 收款时间
  currentStage: string // 当前阶段
  currentStatus: string // 当前状态
  customerName: string // 客户名称
  shangwuBiz: string // 数虎商务
  shangwuPm: string // 数虎PM
  customerPm: string // 客户PM
  customerPurchase: string // 客户采购
  demandBudget: number // 需求预算
  poNumber: string // PO号
  contractAmount: number // 开工令/PO/合同金额
  itemInvoice13Percent: number // 物品开票-13%
  serviceInvoice6Percent: number // 服务开票-6%
  receivedAmount: number // 已收金额
  outstandingAmount: number // 未收金额
  bizProcessProgress: string // 商务流程进展
  executionProgress: string // 项目执行进展
  deliveryMilestone: string // 交付里程碑
  deliveryItems: string // 项目交付件
  deliveryLocation: string // 项目交付地
  backupInfo: string // 项目备份
  additionalContract: boolean // 合同额是否有新增
  pendingPurchase: boolean // 是否有新增采购，未发起采购审批
  purchaseTaxFreePrice: number // 税前价
  purchaseTaxRate: number // 税率
  unreimbursedExpenses: boolean // 是否还有未报销费用（差旅等）
  unpaidBalanceNoPaymentRequired: boolean // 未付尾款是否有无需支付的
}

// 项目台账管理 API
export const ProjectLedgerApi = {
  // 查询项目台账管理分页
  getProjectLedgerPage: async (params: any) => {
    return await request.get({ url: `/shuhu/project-ledger/page`, params })
  },

  // 查询项目台账管理详情
  getProjectLedger: async (id: number) => {
    return await request.get({ url: `/shuhu/project-ledger/get?id=` + id })
  },

  // 新增项目台账管理
  createProjectLedger: async (data: ProjectLedgerVO) => {
    return await request.post({ url: `/shuhu/project-ledger/create`, data })
  },

  // 修改项目台账管理
  updateProjectLedger: async (data: ProjectLedgerVO) => {
    return await request.put({ url: `/shuhu/project-ledger/update`, data })
  },

  // 删除项目台账管理
  deleteProjectLedger: async (id: number) => {
    return await request.delete({ url: `/shuhu/project-ledger/delete?id=` + id })
  },

  // 导出项目台账管理 Excel
  exportProjectLedger: async (params) => {
    return await request.download({ url: `/shuhu/project-ledger/export-excel`, params })
  }
}